home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
util
/
conv
/
mconv_19.lha
/
MausConv.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-10-27
|
3KB
|
106 lines
/* MausConv
*
* Ein Konvertierer zwischen IBM- und Amiga-Umlauten, mit besonderer
* Berücksichtigung der Maus-Eigenheiten
*/
#include "MausConv.h"
Prototype int main (int, char **);
int main (int argc, char **argv)
{
unsigned char *neu; //Tabelle der zu ersetzenden Buchstaben
//FILE *in; //Eingabefile
//FILE *out; //Ausgabefile
BPTR in; //Eingabefile
BPTR out; //Ausgabefile
unsigned char *buffer; //Puffer
long i; //Zähler
long j; //Zähler
if ((argc != 4) ||
((stricmp (argv[3],"maus2ami") != 0) &&
(stricmp (argv[3],"ami2maus") != 0)))
{
//printf ("\n%s\n\n", VERSTAG+7);
//printf ("Aufruf: %s <Eingabedatei> <Ausgabedatei> maus2ami\n", argv[0]);
//printf (" oder: %s <Eingabedatei> <Ausgabedatei> ami2maus\n", argv[0]);
Printf ("\n%s\n\n", VERSTAG+7);
Printf ("Aufruf: %s <Eingabedatei> <Ausgabedatei> maus2ami\n", argv[0]);
Printf (" oder: %s <Eingabedatei> <Ausgabedatei> ami2maus\n", argv[0]);
exit(RETURN_ERROR);
}
if (stricmp (argv[3],"maus2ami") == 0)
neu = m2a;
else
neu = a2m;
//if ((in = fopen (argv[1], "rb")) == NULL)
if ((in = Open(argv[1], MODE_OLDFILE)) == (BPTR)NULL)
{
//printf ("%s: Kann Eingabefile \"%s\" nicht öffnen!\n", argv[0], argv[1]);
Printf ("%s: Kann Eingabefile \"%s\" nicht öffnen!\n", argv[0], argv[1]);
exit(RETURN_ERROR);
}
//if ((out = fopen (argv[2], "wb")) == NULL)
if ((out = Open(argv[2], MODE_NEWFILE)) == NULL)
{
//printf ("%s: Kann Ausgabefile \"%s\" nicht öffnen!\n", argv[0], argv[2]);
Printf ("%s: Kann Ausgabefile \"%s\" nicht öffnen!\n", argv[0], argv[2]);
//fclose(in);
Close(in);
exit(RETURN_ERROR);
}
if ((buffer = (char *)malloc(SIZE)) == NULL)
// Die Verwendung von AllocMem macht das Programm größer!
//if ((buffer = (char *)AllocMem(SIZE,0L)) == NULL)
{
//printf ("%s: Kein Speicher!\n", argv[0]);
Printf ("%s: Kein Speicher!\n", argv[0]);
//fclose(in);
//fclose(out);
Close(in);
Close(out);
exit(RETURN_ERROR);
}
do
{
//i = fread (buffer, 1, SIZE, in);
i = Read (in, buffer, SIZE);
//printf("i=%d\n",i);
for (j=0; j<i; j++)
{
//printf("buffer[%d]: %d (%c) -> ",j,buffer[j],buffer[j]);
buffer[j] = neu[buffer[j]];
//printf("%d (%c)\n",buffer[j],buffer[j]);
}
//j = fwrite (buffer, 1, i, out);
j = Write (out, buffer, i);
if (j != i)
{
//printf ("%s: Write Error!\n", argv[0]);
Printf ("%s: Write Error!\n", argv[0]);
//fclose(in);
//fclose(out);
free(buffer);
Close(in);
Close(out);
//FreeMem(buffer,SIZE);
exit(RETURN_ERROR);
}
}
while (i);
//fclose(in);
//fclose(out);
free(buffer);
Close(in);
Close(out);
//FreeMem(buffer,SIZE);
exit(RETURN_OK);
}